package com.zhenhe.tag;


import java.io.IOException;

import javax.servlet.jsp.tagext.TagSupport;

import org.apache.commons.lang3.StringEscapeUtils;

/**
 * 
 * 把普通的字符转义成html字符，防止html攻击
 * @author hl
 *
 */
public class EncodeHtmlTag extends TagSupport{

	 /**
	  * 
	  */
	private static final long serialVersionUID = 5851688866450447931L;

	private String value; 
	
	
	
	public void setValue(String value) {
		this.value = value;
	}

	public int doEndTag(){
	     if(value!=null&&value.length()>0){
	    	 try {
				pageContext.getOut().print(encode(value));
			} catch (IOException e) {
				e.printStackTrace();
			}
	     }
	        return EVAL_PAGE;
	}
	
	 private String encode(String str){
//		 char s[]= str.toCharArray(); 
//		 StringBuffer sb = new StringBuffer();
//		 for(char c:s){
//			 switch(c){
//			 case '<':sb.append("&lt;");break;
//			 case '>':sb.append("&gt;");break;
//			 case '\"':sb.append("&quot;");break;
//			 case '&':sb.append("&amp;");break;
//			 case ' ':sb.append("&nbsp;");break;
//			 default : sb.append(c);
//			 }
//		 }
//		 
//		 return sb.toString();
		 if(str==null){
			 return "";
		 }
		 
		 return  StringEscapeUtils.escapeHtml4(str);

	 }
	 
}
